home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / misc / math / highprecision.lha / epsilon.e < prev    next >
Encoding:
Text File  |  1998-09-05  |  758 b   |  48 lines

  1. MODULE 'highprecision'
  2. /*calculates e to 1000 places.*/
  3. DEF ep,n1,n2,t1,t2,t3,s,holdit
  4.  
  5. CONST LEN=1000
  6.  
  7. PROC main()
  8. IF (highprecisionbase:=OpenLibrary('highprecision.library',1))<>0
  9. IF HpSetup(LEN)<>0
  10. n1:=1
  11. n2:=1
  12. ep:=HpMakeVar()
  13. t1:=HpMakeVar()
  14. t2:=HpMakeVar()
  15. t3:=HpMakeVar()
  16. s:=HpMakeStr()
  17. Int2hp(1,t1)
  18. Int2hp(n1,t2)
  19. Int2hp(1,t3)
  20. REPEAT
  21. ->WriteF('.')
  22. holdit:=t3
  23. t3:=ep
  24. ep:=holdit
  25. ->HpCopy(t3,ep)
  26. HpDiv(t1,Int2hp(n1++,t2),t1)
  27. HpHalf(t1,t1)
  28. HpHalf(t1,t1)
  29. HpHalf(t1,t1)
  30. HpHalf(t1,t1)
  31. HpHalf(t1,t1)
  32. HpAdd(t1,ep,t3)
  33. UNTIL (HpCmp(t3,ep,0)=0) OR (CtrlC()=TRUE)
  34. HpMul(ep,ep,ep)
  35. HpMul(ep,ep,ep)
  36. HpMul(ep,ep,ep)
  37. HpMul(ep,ep,ep)
  38. HpMul(ep,ep,ep)
  39. WriteF('\n')
  40. Hp2str(ep,s,0)
  41. WriteF('\s\n',s)
  42. ENDIF
  43. CloseLibrary(highprecisionbase)
  44. ELSE
  45. WriteF('\nnolib\n')
  46. ENDIF
  47. ENDPROC
  48.